草庐IT

python - 消除 Python 和 Numpy 构造中的 for 循环

全部标签

Ruby Regex 非贪婪匹配 : looking for the closest occurrence of a phrase left to a searched word

假设我有以下字符串:"BENffew123X\r\nBENx432f456X\r\nBEN!233789X\r\nBEN4545789X"我想要一个能捕获“BEN!233789”的正则表达式,它必须非贪婪地查找“BEN”,后跟任何字符(不包括“BEN”一词)并以789X结尾。我尝试了正则表达式:/BEN.+?789X/mi,我得到了"BENffew123X\r\nBENx432f456X\r\nBEN!233789X"作为匹配项。我知道这个正则表达式寻找第一个“BEN”并捕获字符串的开头,但我希望它寻找最接近第一个“789X”的“BEN”。我怎样才能做到这一点?一个想法是反转字符串,我

ruby-on-rails - 自定义 RESTful 资源的 url_for(复合键;不仅仅是 id)

给定以下资源定义:map.resources:posts,:except=>[:show]map.post'/:year/:month/:slug,:controller=>:posts,:action=>:show我可以让url_for为我工作,使用这个语法:'2010',:month=>'02',:slug=>'test')%>但是有没有办法让它工作呢?目前它抛出这个错误:Noroutematches{:year=>#,:controller=>"posts",:action=>"show"}显然它将@post对象传递给第一个路由参数(看起来像一个Rails错误...)。但是我可以

ruby - 如何在 pry 中退出循环

如果你继续输入'n',你将循环100次,我怎么能离开每个循环并继续从第7行开始调试而不退出循环然后自动运行剩余的代码,exit!!!的行为不适合我,因为我想在退出循环后继续调试代码。1:require'pry'2:=>3:binding.pry4:(1..100).eachdo|x|5:printx6:end7:8:print"hi" 最佳答案 你可以使用disable-pry命令 关于ruby-如何在pry中退出循环,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - gem install pg for ruby​​ on rails

Postgresql不会安装在OSX上下面是我的数据n安装pg(0.18.4)时出现错误,Bundler无法继续。确保geminstallpg-v'0.18.4'在捆绑之前成功。chriss-MacBook-Pro:shinechriswilson$bundleexec安装用法:安装[-bCcpSsv][-B后缀][-f标志][-g组][-m模式][-o所有者]文件1文件2安装[-bCcpSsv][-B后缀][-f标志][-g组][-m模式][-oowner]file1...fileN目录install-d[-v][-ggroup][-mmode][-oowner]目录...chris

ruby - ruby 中的线程安全外部进程,以及检查退出状态

我想在Ruby中运行一段调用外部程序的线程安全脚本,然后检查该外部程序的退出状态。最好的方法是什么?到目前为止,我一直在检查$?,但我认为我遇到了与程序其他部分的竞争条件。下面是一些示例代码:Thread.newdo`external_program`if$?.exitstatus==0#itworked.else#itdidn'twork.endend理想情况下,我会做类似的事情Process.new(`external_program`).exitstatus因此exitstatus与that进程密不可分,而不是恰好完成的最后一个进程。有什么办法吗? 最

ruby-on-rails - ruby rails : pluralize for other languages

我正在为非英语用户构建应用程序。现在,我使用英语名词来命名我的模型,但我更喜欢使用荷兰本土名词。由于约定使用表类名称的复数形式,我假设它是Rails中的复数方法(我不知道它位于何处)。如何更改pluralize方法及其位置?这会破坏Rails吗?我正在使用Rails2.3.5和Ruby1.8.7例子:Book类现在变成了书籍。我的Boek类变成了boeks,但是使用boeken在语法上是正确的 最佳答案 将您的规则添加到config/initializers中的inflections.rb文件。查看APIdocumentation:

Ruby:1.9 中的 parsedate 去哪儿了?

我相信旧版本的ruby​​带有一个parsedate模块,允许最佳猜测传递日期/时间字符串。这似乎不在ruby​​1.9中——其他地方是否有等效的功能? 最佳答案 我自己也有同样的问题。查看1.8源代码parsetime使用另一个仍然存在的模块。以下内容适用于我使用从FreeBSD上的端口构建的Ruby1.9。require'date/format'require'time'text="TueJun2811:582011"array=Date._parse(text,false).values_at(:year,:mon,:mday

ruby-on-rails - 如何访问 Capistrano 中的服务器特定选项?

我正在尝试将Capistrano配置为在两台不同的服务器上执行相同的任务,每台服务器都有不同的凭据。我想做一些类似的事情:namespace:deploydorole:db,"192.168.1.1",:credentials=>"db1.yml"role:db,"192.168.1.1",:credentials=>"db2.yml"task:mytask,:roles=>:dbdocredentials=YAML.load_file(something)...这可能吗?为了访问当前服务器配置,我应该用什么替换something? 最佳答案

ruby - 如何将类名作为变量传递给ruby中的另一个类

我正在尝试学习用ruby​​创建一个多类程序。我编写了一个引擎类和一些其他类,如城市、街道等,但在将类名作为变量传递给其他类时遇到了问题。下面的代码抛出错误:“City.rb:15:in'intro':undefinedlocalvariableormethodgame'for#(NameError)”。我在某种程度上理解这个问题,但我认为这个城市不需要知道任何关于游戏对象,我认为它只需要获取它并将其传回即可。但表面上我对如何在类之间传递变量(尤其是类名)有误解。我的设计有什么问题?#Game.rbrequire'./City.rb'classEnginedefinitialize(c

Ruby 构造函数和异常

Ruby新手,我想弄清楚使用什么习惯用法来将某些整数值限制为类的构造函数。根据我目前所做的,如果我在initialize()中引发异常,该对象仍会创建,但将处于无效状态(例如,某些nil实例变量中的值)。我不太明白我应该如何限制这些值而不进入看起来不必要的大步骤,例如限制对new()的访问。所以我的问题是,我可以通过什么机制来限制实例化对象的值范围? 最佳答案 嗯,你是完全正确的,即使initialize引发异常,对象仍然存在。然而,任何人都很难坚持引用,除非你从initialize中泄漏self就像我刚写的下面的代码一样:>>cl